<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Cache-Control" content="no-siteapp">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=1, minimum-scale=1, maximum-scale=1">
<meta name="renderer" content="webkit">
<meta name="google" value="notranslate">
<meta name="robots" content="index,follow">


<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Akkuman">
<meta name="twitter:description" content="Akkuman的技术博客">
<meta name="twitter:image:src" content="http://127.0.0.1:8000/images/avatar.png">

<meta property="og:url" content="http://127.0.0.1:8000">
<meta property="og:title" content="Akkuman">
<meta property="og:description" content="Akkuman的技术博客">
<meta property="og:site_name" content="Akkuman">
<meta property="og:image" content="http://127.0.0.1:8000/images/avatar.png">
<meta property="og:type" content="website">
<meta name="robots" content="noodp">

<meta itemprop="name" content="Akkuman">
<meta itemprop="description" content="Akkuman的技术博客">
<meta itemprop="image" content="http://127.0.0.1:8000/images/avatar.png">

<link rel="canonical" href="http://127.0.0.1:8000">

<link rel="shortcut icon" href="/favicon.png">
<link rel="apple-itouch-icon" href="/favicon.png">

<link type="text/css" rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="/bundle/css/prism.css">
<link type="text/css" rel="stylesheet" href="/bundle/css/zoom.css">
<link type="text/css" rel="stylesheet" href="/bundle/css/main.css">
<script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script>



<script>var cPlayers = [];var cPlayerOptions = [];</script>


<script type="text/javascript">
    var timeSinceLang = {
        year: '年前',
        month: '个月前',
        day: '天前',
        hour: '小时前',
        minute: '分钟前',
        second: '秒前'
    };
    var root = '';
</script>


        <meta name="keywords" content="Hexo,">
        <meta name="description" content="hexo在github和coding.net部署并分流（一）">
        <meta name="author" content="">
        <title>hexo在github和coding.net部署并分流（一）</title>
    </head>
    <body>
        
        <header id="header" class="clearfix">
  <div class="container-fluid">
      <div class="row">
          <div class="logo">
              <div class="header-logo">
                <script>
                  var getwbclass = function() {
                    var wbclass = ['b', 'w'];
                    return wbclass[Math.floor(Math.random()*wbclass.length)];
                  }
                  var sitetitle = "Akkuman";
                  for (i in sitetitle) {
                    document.write('<a href="/"><span class="' + getwbclass() + ' titlechar">' + sitetitle.charAt(i) + '</span></a>');
                  }          
                  
                </script>
                
                <a id="btn-menu" href="javascript:isMenu();">
                    <span class="b">·</span>
                </a>
                <a href="javascript:isMenu1();">
                    <span id="menu-1" class="bf">1</span>
                </a>
                <a href="javascript:isMenu2();">
                    <span id="menu-2" class="bf">2</span>
                </a>
                <a href="javascript:isMenu3();">
                    <span id="menu-3" class="bf">3</span>
                </a>
              </div>
              <div id="menu-page">
                <a href="/archive.html"><li>归档</li></a>
                <a href="/tag.html"><li>标签</li></a>
                
                <a href="/atom.xml"><li>订阅</li></a>
                
                <a href="about.html"><li>关于</li></a>
              </div>
              <div id="search-box">
                  <div id="search">
                      <input autocomplete="off" type="text" name="s" id="menu-search" placeholder="搜索..." data-root="" />
                  </div>
              </div>
          </div>
      </div>
  </div>
  </header>
        <div id="body" class="clearfix">
            <div class="container-fluid">
                <div class="row">
                    <div id="main" class="col-12 clearfix" role="main">
                        <article class="posti" itemscope itemtype="http://schema.org/BlogPosting">
                            <h1 class="post-title" itemprop="name headline">hexo在github和coding.net部署并分流（一）</h1>
                            <div class="post-meta">
                                <p>
                                     with ♥ on <time datetime="1484054520" itemprop="datePublished"></time> in <a href="/tag/Hexo/index.html">Hexo </a>
                                </p>
                            </div>
                            <div class="post-content" itemprop="articleBody">
                                <h1>安装GIT和Node.JS</h1>

<p>首先在自己的电脑上安装好git和node.js，这一步怎么做自己搜索，安装软件都是下一步下一步，应该不难,GIT安装完成后打开git cmd输入</p>

<pre><code class="language-bash">git config --global user.name &quot;Your Name&quot;
git config --global user.email &quot;email@example.com&quot;
</code></pre>

<p>因为Git是分布式版本控制系统，所以，每个机器都必须自报家门：你的名字和Email地址。
<strong>注意：</strong>git config命令的&ndash;global参数，用了这个参数，表示你这台机器上所有的Git仓库都会使用这个配置，当然也可以对某个仓库指定不同的用户名和Email地址。</p>

<p>#安装并初始化HEXO
如果你是在Windows上，请打开Git-CMD
<img src="" data-src="http://7xusrl.com1.z0.glb.clouddn.com/git-cmd-exa.png" alt="1" />
假如你是想在D:\blog\下建立你的博客，请先在D盘下新建文件夹blog
在Git-CMD中输入<code>npm install -g hexo-cli</code>回车开始安装hexo
安装完成后将git cmd工作目录切换至D:\blog\然后输入<code>hexo init</code>回车，或者直接在git cmd中输入<code>hexo init d:\\blog</code>
如果你的d:\blog\下的目录形式是</p>

<pre><code>.
├── _config.yml // 网站的配置信息，你可以在此配置大部分的参数。
├── package.json 
├── scaffolds // 模板文件夹。当你新建文章时，Hexo会根据scaffold来建立文件。
├── source // 存放用户资源的地方
|   ├── _drafts
|   └── _posts
└── themes // 存放网站的主题。Hexo会根据主题来生成静态页面。
</code></pre>

<p>那么你的hexo安装并初始化完成
然后输入<code>hexo server</code>启动本地demo，打开浏览器，查看<a href="http://localhost:4000/可以看到自己的博客">http://localhost:4000/可以看到自己的博客</a></p>

<h1>将之托管到github和coding上</h1>

<h2>github项目创建</h2>

<p>1.注册github账号
2.创建项目仓库
进入<a href="https://github.com/">github.com</a>，然后点击右上角 + &ndash;&gt;new repository</p>

<p><img src="" data-src="http://7xusrl.com1.z0.glb.clouddn.com/new%20rep.png" alt="2" /></p>

<p>3.在Repository name中填写Github账号名.github.io，点击Create repository，完成创建。</p>

<p><img src="" data-src="http://7xusrl.com1.z0.glb.clouddn.com/hexo-github-1.png" alt="3" /></p>

<h2>Coding项目创建</h2>

<p>1.注册Coding账号
2.创建项目仓库</p>

<p><img src="" data-src="http://7xusrl.com1.z0.glb.clouddn.com/hexo-coding-1.png" alt="4" /></p>

<p>3.填写项目名称描述创建即可</p>

<p><img src="" data-src="http://7xusrl.com1.z0.glb.clouddn.com/hexo-coding-2.png" alt="5" /></p>

<h2>配置SHH</h2>

<p>配置shh key是让本地git项目与远程的github建立联系
1.检查是否已经有SSH Key，打开Git Bash，输入</p>

<pre><code class="language-bash">cd ~/.ssh
</code></pre>

<p>2.如果没有.ssh这个目录，则生成一个新的SSH，输入</p>

<pre><code class="language-bash">ssh-keygen -t rsa -C &quot;your e-mail&quot;
</code></pre>

<p>注意1: 此处的邮箱地址，你可以输入自己的邮箱地址；注意2: 此处的「-C」的是大写的「C」
接下来几步都直接按回车键,然后系统会要你输入密码</p>

<pre><code class="language-bash">Enter passphrase (empty for no passphrase):&lt;输入加密串&gt;
Enter same passphrase again:&lt;再次输入加密串&gt;
</code></pre>

<p>这个密码会在你提交项目时使用，如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。个人建议为空比较方便
注意：输入密码的时候没有*字样的，你直接输入就可以了。
3.最后看到这样的界面，就成功设置ssh key了
<img src="" data-src="http://7xusrl.com1.z0.glb.clouddn.com/wangzhanssh%20key.jpg" alt="6" /></p>

<h2>添加 SSH Key 到 GitHub和Coding</h2>

<p>复制<code>~/.ssh/id_rsa.pub</code>中的内容
~是个人文件夹，比如我的电脑上是C:\Users\Administrator.ssh\id_rsa.pub，将其中的文本复制
进入github，点击头像&ndash;&gt;Setting&ndash;&gt;SSH and GPG keys,然后在右侧点击New SSH key，
Title随便写，key中填写id_rsa.pub中复制的内容，然后Add SSH key就ok了
进入Coding.net，点击头像&ndash;&gt;个人设置&ndash;&gt;SSH公钥，新增公钥，公钥名称随便，公钥内容是填写id_rsa.pub中复制的内容，有效期可以勾选永久，然后添加ok</p>

<h2>测试SSH是否配置成功</h2>

<p>1.打开Git Bash，然后输入</p>

<pre><code class="language-bash">ssh -T git@github.com
</code></pre>

<p>如配置了密码则要输入密码,输完按回车
如果显示以下内容，则说明Github中的ssh配置成功。</p>

<pre><code class="language-bash">Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
</code></pre>

<p>2.再输入</p>

<pre><code class="language-bash">ssh -T git@git.coding.net
</code></pre>

<p>如果显示以下则说明coding中的ssh配置成功</p>

<pre><code class="language-bash">Hello username You've connected to Coding.net by SSH successfully!
</code></pre>

<h2>创建Github Pages和Coding Pages 服务</h2>

<p>1.GitHub Pages分两种，一种是你的GitHub用户名建立的username.github.io这样的用户&amp;组织页（站），另一种是依附项目的pages。想建立个人博客是用的第一种，形如cnfeat.github.io这样的可访问的站，每个用户名下面只能建立一个。
Coding Pages服务开启在官网说的很详细，不知道请百度
2.打开D:\blog文件夹中的_config.yml文件，找到如下位置，填写</p>

<pre><code class="language-bash"># Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
- type: git
  repo: 
    github: git@github.com:yourname/yourname.github.io.git,master
    coding: git@git.coding.net:yourname/yourname.git,coding-pages
</code></pre>

<p><strong>注：</strong> (1) 其中yourname替换成你的Github账户名;(2)注意在yml文件中，:后面都是要带空格的。
#部署完成
在blog文件夹中空白处右击打开Git Bash输入</p>

<pre><code class="language-bash">hexo clean
hexo d- g
</code></pre>

<p>此时，通过访问<a href="http://yourname.github.io和http://yourname.coding.me可以看到默认的Hexo首页面（与之前本地测试时一样）。">http://yourname.github.io和http://yourname.coding.me可以看到默认的Hexo首页面（与之前本地测试时一样）。</a></p>

                            </div>
                            <div style="display:block;" class="clearfix">
                                <section style="float:left;">
                                    <span itemprop="keywords" class="tags">
                                        tag(s): <a href="/tag/Hexo/index.html">Hexo </a>
                                    </span>
                                </section>
                                <section style="float:right;">
                                    <span><a id="btn-comments" href="javascript:isComments();">show comments</a></span> · <span><a href="javascript:goBack();">back</a></span> · 
                                    <span><a href="/">home</a></span>
                                </section>
                            </div>
                            



<div id="comments" class="gen">
    <script>
        document.write('<section id="disqus_thread"></section>');
        var site_comment_load = function disqus() {
            var d = document, s = d.createElement('script');
            s.src = '//Akkum4n.disqus.com/embed.js';
            s.setAttribute('data-timestamp', +new Date());
            (d.head || d.body).appendChild(s);
        }
    </script>
</div>

                        </article>
                    </div>
                </div>
            </div>
        </div>
        <footer id="footer" role="contentinfo">
    <div class="container-fluid">
        <div class="row">
        <div class="col-12">
            &copy; 
            <script type="text/javascript">
                document.write(new Date().getFullYear());
            </script>
            <a href="/">Akkuman</a>.
            Using <a target="_blank" href="http://www.chole.io/">Ink</a> & <a target="_blank" href="/">Story</a>.
        </div>
        </div>
    </div>
</footer>

<script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script>
<script src="/bundle/js/prism.js"></script>
<script src="/bundle/js/zoom-vanilla.min.js"></script>
<script src="/bundle/js/main.js"></script>

<script>
    window.onload=function(){
        if (window.location.hash!='') {
          var i=window.location.hash.indexOf('#comment');
          var ii=window.location.hash.indexOf('#respond-post');
          if (i != '-1' || ii != '-1') {
            document.getElementById('btn-comments').innerText='hide comments';
            document.getElementById('comments').style.display='block';
          }
        }
    }

    function isMenu(){
        if(document.getElementById('menu-1').style.display=='inline'||document.getElementById('menu-1').style.display=='block'){
            $('#search-box').fadeOut(200);
            $('#menu-page').fadeOut(200);
            $('#menu-1').fadeOut(500);
            $('#menu-2').fadeOut(400);
            $('#menu-3').fadeOut(300);
        } else {
            $('#menu-1').fadeIn(150);
            $('#menu-2').fadeIn(150);
            $('#menu-3').fadeIn(150);
        }
    }

    function isMenu1(){
        if(document.getElementById('menu-page').style.display=='block'){
            $('#menu-page').fadeOut(300);
        } else {
            $('#menu-page').fadeIn(300);
        }
    }

    function isMenu2(){
        if(document.getElementById('torTree')){
            if(document.getElementById('torTree').style.display=='block'){
                $('#torTree').fadeOut(300);
            } else {
                $('#torTree').fadeIn(300);
            }
        }
    }

    function isMenu3(){
        if(document.getElementById('search-box').style.display=='block'){
            $('#search-box').fadeOut(300);
        } else {
            $('#search-box').fadeIn(300);
        }
    }

    function isComments(){
        if(document.getElementById('btn-comments').innerText=='show comments'){
            document.getElementById('btn-comments').innerText='hide comments';
            document.getElementById('comments').style.display='block';
            site_comment_load();
        } else {
            document.getElementById('btn-comments').innerText='show comments';
            document.getElementById('comments').style.display='none';
        }
    }

    function Search404(){
        $('#menu-1').fadeIn(150);
        $('#menu-2').fadeIn(150);
        $('#menu-3').fadeIn(150);
        $('#search-box').fadeIn(300);
    }

    function goBack(){
        window.history.back();
    }
</script>


<script async>
"use strict";
(function(){
var cp = function(){
    var len = cPlayerOptions.length;
    for(var i=0;i<len;i++){
        var element = document.getElementById('player' + cPlayerOptions[i]['id'])
        while (element.hasChildNodes()) {
            element.removeChild(element.firstChild);
        };
        cPlayers[i] = new cPlayer({
            element: element,
            list: cPlayerOptions[i]['list'],
            });
    };
    cPlayers = [];cPlayerOptions = [];
};
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "https://cdn.bootcss.com/cplayer/3.2.1/cplayer.js";
script.async = true;
if(script.readyState){  
    script.onreadystatechange = function(){
        if (script.readyState == "loaded" ||
            script.readyState == "complete"){
            script.onreadystatechange = null;
            cp();
        }
    };
}else{  
    script.onload = function(){
        cp();
    };
}
document.head.appendChild(script);
})();
</script>

    </body>
</html>
